/*
 * BeanReport.java
 *
 * Created on 1 de diciembre de 2005, 03:51 PM
 *
 * To change this template, choose Tools | Options and locate the template under
 * the Source Creation and Management node. Right-click the template and choose
 * Open. You can then make changes to the template in the Source Editor.
 */
package com.nextel.project.reporte.bean;

import com.nextel.project.Configuracion;
import pe.com.nextel.rms.DataInputStreamX;
import pe.com.nextel.rms.DataOutputStreamX;
import pe.com.nextel.rms.PersistenteX;
import java.io.IOException;
import pe.com.nextel.util.List;

import org.kxml2.io.KXmlParser;
import org.kxml2.io.KXmlSerializer;
import pe.com.nextel.util.math.MathUtil;
/**
 *
 * @author marizaga
 */
public class ReporteKPIBean extends PersistenteX {
    
    public long tiempoTotal = 0; //tiempo total de todos los pedidos realizados (solo nuevos)
    
    public long tiempoInicioTemporal = 0;
    
    
    
    public int clienteVisitados = 0; // total de clientes con pedido
    
    public int totalClientes = 0; // total de clientes programados
    
    public String montoTotal = "0"; // monto total de los pedidos
    
    public String cantidadPedida = "0";; //cantidad total pedida
    
    public String montoCobrado = "0";; //cantidad total pedida
    
    public int totPedidos = 0; //total de pedidos
    public int totNoPedido = 0;//total no pedidos
    public int clienteVisitadoNoPedido = 0;// total de clientes con NO pedido
    public String listaCodigoClientes = ""; // lista de clientes con pedido separados por comas
    public String listaCodigoClienteNoPedido = ""; // lista de clientes con NO pedido separados por comas
    
    
    public String getPorcentajeEfectividad(){
        
        return MathUtil.setScale(
                MathUtil.porcentaje(String.valueOf(clienteVisitados),  String.valueOf(totalClientes)), 
                    Configuracion.DECIMAL_PRESENTACION
                );
    }
    
    public String getPorcentajeTiempo(){
        //System.out.println("Tiempo Total = " + tiempoTotal );
        return MathUtil.setScale(MathUtil.dividir(String.valueOf(tiempoTotal/1000), String.valueOf(totalClientes)), Configuracion.DECIMAL_PRESENTACION);
    }
    
    public void persistir(DataOutputStreamX dataOutput, List list) throws IOException {
        
        dataOutput.writeLong(tiempoTotal);
        dataOutput.writeLong(tiempoInicioTemporal);
        
        dataOutput.writeInt(clienteVisitados);
        dataOutput.writeInt(totalClientes);
        dataOutput.writeString(montoTotal);
        dataOutput.writeString(montoCobrado);
        dataOutput.writeString(cantidadPedida);
        
        dataOutput.writeInt(clienteVisitadoNoPedido);
        dataOutput.writeString(listaCodigoClientes);
        dataOutput.writeInt(totPedidos);
        dataOutput.writeInt(totNoPedido);
        dataOutput.writeString(listaCodigoClienteNoPedido);
        
    }
    
    public List recuperar(DataInputStreamX dataInput) throws IOException {
        
        tiempoTotal = dataInput.readLong();
        tiempoInicioTemporal = dataInput.readLong();
        
        clienteVisitados = dataInput.readInt();
        totalClientes = dataInput.readInt();
        montoTotal = dataInput.readString();
        montoCobrado = dataInput.readString();
        cantidadPedida = dataInput.readString();
        
        clienteVisitadoNoPedido = dataInput.readInt();
        listaCodigoClientes = dataInput.readString();
        totPedidos = dataInput.readInt();
//        System.out.println("totPedidos=" + totPedidos);
        totNoPedido = dataInput.readInt();
        listaCodigoClienteNoPedido = dataInput.readString();
        
        return null;
    }
    
    public void writeXMLObject(KXmlSerializer writer) throws IOException {
    }
    
    public void readXMLObject(KXmlParser parser) throws IOException {
    }
}
